﻿using Ewell.BizComponent.UI.Core.VievModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ewell.BizComponent.UI.Core.ViewModel
{
    public class ScheduleVm:ViewModelBase
    {
        /// <summary>
        /// 学科专业标识
        /// </summary>
        private string _msId;
        public string msId
        {
            get => _msId; set
            {
                if (_msId != value)
                {
                    _msId = value;
                    OnPropertyChanged(nameof(msId));
                }
            }
        }
        // 学科专业名称
        private string _msName;
        public string msName
        {
            get => _msName;
            set
            {
                if (_msName != value)
                {
                    _msName = value;
                    OnPropertyChanged(nameof(msName));
                }
            }
        }
        /// <summary>
        /// 出诊日期
        /// </summary>
        private DateTime? _scheduleDate;
        public DateTime? scheduleDate
        {
            get => _scheduleDate;
            set
            {
                if(value != _scheduleDate)
                {
                    _scheduleDate = value;
                    OnPropertyChanged(nameof(scheduleDate));
                }
            }
        }
        // 挂号类别标识
        private string _registrationTypeId;
        public string registrationTypeId
        {
            get => _registrationTypeId;
            set
            {
                if (_registrationTypeId != value)
                {
                    _registrationTypeId = value;
                    OnPropertyChanged(nameof(registrationTypeId));
                }
            }
        }

        // 挂号类别名称
        private string _registrationTypeName;
        public string registrationTypeName
        {
            get => _registrationTypeName;
            set
            {
                if (_registrationTypeName != value)
                {
                    _registrationTypeName = value;
                    OnPropertyChanged(nameof(registrationTypeName));
                }
            }
        }
        /// <summary>
        /// 挂号分类标识
        /// </summary>
        private string _regCategoryId;
        public string regCategoryId
        {
            get => _regCategoryId; set
            {
                if (_regCategoryId != value)
                {
                    _regCategoryId = value;
                    OnPropertyChanged(nameof(regCategoryId));
                }
            }
        }

        // 总号数
        private int? _quantity;
        public int? quantity
        {
            get => _quantity;
            set
            {
                if (_quantity != value)
                {
                    _quantity = value;
                    OnPropertyChanged(nameof(quantity));
                }
            }
        }

        // 已使用号数
        private int? _quantityUsed;
        public int? quantityUsed
        {
            get => _quantityUsed;
            set
            {
                if (_quantityUsed != value)
                {
                    _quantityUsed = value;
                    OnPropertyChanged(nameof(quantityUsed));
                }
            }
        }

        // 剩余号数
        private int? _quantityRemain;
        public int? quantityRemain
        {
            get => _quantityRemain;
            set
            {
                if (_quantityRemain != value)
                {
                    _quantityRemain = value;
                    OnPropertyChanged(nameof(quantityRemain));
                }
            }
        }

        // 挂号金额
        private decimal? _regAmount;
        public decimal? regAmount
        {
            get => _regAmount;
            set
            {
                if (_regAmount != value)
                {
                    _regAmount = value;
                    OnPropertyChanged(nameof(regAmount));
                }
            }
        }

        // 午别标识
        private string _noonTypeId;
        public string noonTypeId
        {
            get => _noonTypeId;
            set
            {
                if (_noonTypeId != value)
                {
                    _noonTypeId = value;
                    OnPropertyChanged(nameof(noonTypeId));
                }
            }
        }

        // 午别名称
        private string _noonTypeName;
        public string noonTypeName
        {
            get => _noonTypeName;
            set
            {
                if (_noonTypeName != value)
                {
                    _noonTypeName = value;
                    OnPropertyChanged(nameof(noonTypeName));
                }
            }
        }

        // 午别代码
        private string _noonTypeCoding;
        public string noonTypeCoding
        {
            get => _noonTypeCoding;
            set
            {
                if (_noonTypeCoding != value)
                {
                    _noonTypeCoding = value;
                    OnPropertyChanged(nameof(noonTypeCoding));
                }
            }
        }

        // 午别开始时间
        private string _beginTime;
        public string beginTime
        {
            get => _beginTime;
            set
            {
                if (_beginTime != value)
                {
                    _beginTime = value;
                    OnPropertyChanged(nameof(beginTime));
                }
            }
        }

        // 午别结束时间
        private string _endTime;
        public string endTime
        {
            get => _endTime;
            set
            {
                if (_endTime != value)
                {
                    _endTime = value;
                    OnPropertyChanged(nameof(endTime));
                }
            }
        }
        /// <summary>
        /// 出诊主体标识
        /// </summary>
        private string _providerId;
        public string providerId
        {
            get
            {
                return _providerId;
            }
            set
            {
                if (value != _providerId)
                {
                    _providerId = value;
                    OnPropertyChanged(nameof(providerId));
                }
            }
        }
        /// <summary>
        /// 出诊主体名称
        /// </summary>
        private string _providerName;
        public string providerName
        {
            get => _providerName;
            set
            {
                if (_providerName!= value)
                {
                    _providerName = value;
                    OnPropertyChanged(nameof(providerName));
                }
            }
        }
        /// <summary>
        /// 出诊主体类型代码
        /// </summary>
        private string _providerTypeCoding;
        public string providerTypeCoding
        {
            get { return _providerTypeCoding; }
            set
            {
                if (_providerTypeCoding != value)
                {
                    _providerTypeCoding = value;
                    OnPropertyChanged(nameof(providerTypeCoding));
                }
            }
        }

        // 医生标识
        private string _docId;
        public string docId
        {
            get => _docId;
            set
            {
                if (_docId != value)
                {
                    _docId = value;
                    OnPropertyChanged(nameof(docId));
                }
            }
        }

        // 医生编码
        private string _docCode;
        public string docCode
        {
            get => _docCode;
            set
            {
                if (_docCode != value)
                {
                    _docCode = value;
                    OnPropertyChanged(nameof(docCode));
                }
            }
        }

        // 医生名称
        private string _docName;
        public string docName
        {
            get => _docName;
            set
            {
                if (_docName != value)
                {
                    _docName = value;
                    OnPropertyChanged(nameof(docName));
                }
            }
        }

        // 科室标识
        private string _deptId;
        public string deptId
        {
            get => _deptId;
            set
            {
                if (_deptId != value)
                {
                    _deptId = value;
                    OnPropertyChanged(nameof(deptId));
                }
            }
        }

        // 科室编码
        private string _deptCode;
        public string deptCode
        {
            get => _deptCode;
            set
            {
                if (_deptCode != value)
                {
                    _deptCode = value;
                    OnPropertyChanged(nameof(deptCode));
                }
            }
        }

        // 科室名称
        private string _deptName;
        public string deptName
        {
            get => _deptName;
            set
            {
                if (_deptName != value)
                {
                    _deptName = value;
                    OnPropertyChanged(nameof(deptName));
                }
            }
        }

        /// <summary>
        /// 门诊排班表标识
        /// </summary>
        private string _encScheduleId;
        public string encScheduleId
        {
            get
            {
                return _encScheduleId;
            }
            set
            {
                if (value != _encScheduleId)
                {
                    _encScheduleId = value;
                    OnPropertyChanged(nameof(encScheduleId));
                }
            }
        }
        /// <summary>
        /// 排班时段设置列表
        /// </summary>
        private List<EsSlotSettingVm> _esSlotSettingList;
        public List<EsSlotSettingVm> esSlotSettingList
        {
            get { return _esSlotSettingList; }
            set
            {
                if (value != _esSlotSettingList)
                {
                    _esSlotSettingList = value;
                    OnPropertyChanged(nameof(esSlotSettingList));
                }
            }
        }
        /// <summary>
        /// 出班午别列表
        /// </summary>
        private List<RegNoonTypeVm> _regNoonTypeList;
        public List<RegNoonTypeVm> regNoonTypeList
        {
            get
            {
                return _regNoonTypeList;
            }
            set
            {
                if (_regNoonTypeList != value)
                {
                    _regNoonTypeList = value;
                    OnPropertyChanged(nameof(regNoonTypeList));
                }
            }
        }
    }
}
